7745f6be9d19687528fd494416d0ba726309ec4b,src/main/java/org/spongepowered/server/mixin/core/entity/MixinEntityLivingBase.java,MixinEntityLivingBase,setActiveHand,#EnumHand#,114

Before Change


    public void setActiveHand(EnumHand hand) {
        net.minecraft.item.ItemStack itemstack = this.getHeldItem(hand);

        if (itemstack != null && !this.isHandActive()) {

            UseItemStackEvent.Start event = SpongeEventFactory.createUseItemStackEventStart(Cause.of(NamedCause.source(this)), itemstack.getMaxItemUseDuration(), itemstack.getMaxItemUseDuration(),
                    ((ItemStack) itemstack).createSnapshot());

            if (!SpongeImpl.postEvent(event)) {
                this.activeItemStack = itemstack;
                this.activeItemStackUseCount = event.getRemainingDuration();

After Change


    private void onSetActiveItemStack(EnumHand hand, CallbackInfo ci, ItemStack stack) {
        UseItemStackEvent.Start event = SpongeEventFactory.createUseItemStackEventStart(Cause.of(NamedCause.source(this)),
                stack.getMaxItemUseDuration(), stack.getMaxItemUseDuration(), ItemStackUtil.snapshotOf(stack));
        if (SpongeImpl.postEvent(event)) {
            ci.cancel();
        } else {
            this.activeItemStackUseCount = event.getRemainingDuration();